package com.yike.user.service;

import com.yike.common.pagination.Paging;
import com.yike.user.param.*;
import com.yike.user.vo.*;

import javax.servlet.http.HttpServletResponse;

/**
 * 平台数据管理
 *
 * @author Sakura
 * @since 2024-11-18
 */
public interface PlatformReportService {

    Paging<SalesReportDataVo> getSalesReportList(PlatformReportDataParam platformReportDataParam) throws Exception;

    SalesReportDataVo getSalesReportCount(PlatformReportDataParam platformReportDataParam) throws Exception;

    void exportSalesReport(HttpServletResponse response, PlatformReportDataParam platformReportDataParam) throws Exception;

    Paging<AgentReportDataVo> getAgentReportList(PlatformReportDataParam platformReportDataParam) throws Exception;

    AgentReportDataVo getAgentReportCount(PlatformReportDataParam platformReportDataParam) throws Exception;

    void exportAgentReport(HttpServletResponse response, PlatformReportDataParam platformReportDataParam) throws Exception;

    Paging<FinanceReportDataVo> getFinanceReportList(PlatformReportDataParam platformReportDataParam) throws Exception;

    FinanceReportDataVo getFinanceReportCount(PlatformReportDataParam platformReportDataParam) throws Exception;

    void exportFinanceReport(HttpServletResponse response, PlatformReportDataParam platformReportDataParam) throws Exception;

    Paging<SalesRankDataVo> getSalesCategoryRankList(PlatformReportDataParam platformReportDataParam) throws Exception;

    void exportSalesCategoryRank(HttpServletResponse response, PlatformReportDataParam platformReportDataParam) throws Exception;

    Paging<SalesRankDataVo> getSalesGoodsRankList(PlatformReportDataParam platformReportDataParam) throws Exception;

    void exportSalesGoodsRank(HttpServletResponse response, PlatformReportDataParam platformReportDataParam) throws Exception;

}
